This invention pertains to a method of run-length-limited encoding. More particularly, it pertains to such a method for encoding a string of binary bits which includes a sequence of synchronizing bits to produce a sequence of encoded bits for each such sequence of synchronizing bits which, when recorded on a magnetic storage medium, have a maximum number of flux transitions.
This invention relates particularly to encoding data received from a computer onto a magnetic disk or other similar magnetic recording medium. Conventionally, data is recorded and recognized on the magnetic medium by the flux transitions which occur. That is, when a binary one bit is recorded on the medium it is represented by a flux transition. Correspondingly, a zero bit is represented by no flux transition.
A problem of recording data directly onto a magnetic medium is that, among other things, a long string of zeros is represented by a constant flux on the magnetic medium without any transitions. This means that there are no indications on the magnetic medium which may be used to identify when a data bit is represented on it.
Data is normally read by tracking over the magnetic medium while taking readings from a read head which is essentially told when to make the reading by a clock which times each reading. Properly timed, this clock tells it to read at the same time a bit location passes below the read head. However, if the read head is not properly synchronized with the traveling medium, then incorrect readings are produced.
In order to avoid this problem, several encoding methods have been used in the past. One such method, known as frequency modulation (FM), inserts a clock pulse or flux transition in between each data pulse. This means that twice as much space is required on the magnetic medium in order to record the same data. However, it provides a positive clocking pulse for each data pulse to synchronize the time for reading the data pulse.
A modified frequency modulation (MFM) or double-density encoding system has also been developed and is in wide use. In this system, data is recorded directly onto a recording medium except for the case when there are two zeros being recorded consecutively. In such a case, a clock pulse is inserted between them. If the data is considered to have a spacing of two, then in a string of zeros a clock pulse is inserted at every second location. It can be seen that this provides an increased data density as compared to the FM method.
Run-length-limited (RLL) encoding is a method which also was developed in order to improve on the MFM method. In this method, there is a minimum allowed spacing and a maximum allowed spacing between flux transitions. In the case at hand, a minimum of two and a maximum of seven consecutive zeros are required in order to properly be able to read the data. There is a minimum number of consecutive zeros required due to the closeness within which ones consecutively placed are readable. If flux transitions occur too closely together, they begin interfering with each other and do not produce reliable data. Thus, by separating the flux transitions by two gaps or zeros, the maximum density spacing of consecutive flux transitions is provided. This is equivalent to the spacing which would be required if unencoded data was directly fed onto and recorded on the magnetic medium.
For the reasons discussed previously, there also is a problem of coordinating the timing of the read activity. In the present case, a maximum of seven consecutive zeros equates to eight spacings between the widest spaced flux transitions. This is a standard which has been developed to maintain a very high reliability in data reading. In order to stay within these limitations, it is necessary to use a coding scheme which divides the incoming data into what will be called groups which are uniquely identifiable and which when concatenated into the original data string represent all possible combinations of incoming data. For each such unique group, there is developed a corresponding encoded group having a one-to-one correspondence with the unique incoming data groups. By using this coding scheme, it is possible to increase the density of data recording on the magnetic medium by approximately 50 percent over the MFM method.
Another problem which exists in the writing and reading of data onto a magnetic medium is in coordinating the control of the mechanical read or write device with the rate of either receipt of incoming bits during a writing operation or reading the bits existing on a magnetic medium for subsequent transmission. In the conventional case of MFM encoding methods, preceding a string of data and address identification bits, there is transmitted a string of zeros which are used for synchronization. As stated above in MFM encoding, a clock pulse is inserted between two consecutive zeros. Thus, when a string of zeros are transmitted, they are encoded into a series of pulses between each pair of zeros. When this is recorded on the magnetic medium, it provides a maximum number of flux transitions which thereby produce the quickest synchronization between the rate of data propagation and the write function. Correspondingly, it permits the quickest sync during a read operation between movement of the disk carrying the data and the read function.
The run-length-limited encoding scheme envisioned in this invention is useable for either MFM encoding or RLL encoding.
It therefore is a general object of this invention to provide RLL encoding which is compatible with MFM encoding.
More specifically, it is an object of this invention to provide an RLL encoding method which is able to encode all groups of incoming data bits into encoded collections of bits with a code which also produces a maximum number of flux transitions during the transmission of a large group of zeros for synchronization as used during MFM recording.
As discussed above, the method of this invention applies to RLL encoding having a minimum of two and a maximum of seven consecutive zeros. The method of this invention provides for serially receiving a string of input bits, serially dividing that string of input bits into groups of bits belonging to a set of unique bit groups containing, when concatenated, all possible combinations of bits and replacing each group with a corresponding collection of encoded bits.
The collections of encoded bits are organized to have, when concatenated, a minimum of two and a maximum of seven consecutive zero bits. Each divided group of three input zero bits is replaced by a collection of six encoded bits having two binary ones separated by two binary zeros. The collections of encoded bits are then serially transmitted for recording on a magnetic medium. It can be seen that this produces, for each sequence of synchronizing zero bits, a maximum number of flux transitions on the magnetic medium.
These and additional objects and advantages of the present invention will be more clearly understood from a consideration of the drawings and the detailed description of a preferred method of practicing the invention.